package com.example.oasystem.service.impl;


import com.example.oasystem.dao.dept.AoaDeptDao;
import com.example.oasystem.dao.login.AoaUserDao;
import com.example.oasystem.entity.page.Page;
import com.example.oasystem.entity.user.AoaUser;
import com.example.oasystem.service.AoaUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class AoaUserServiceImpl implements AoaUserService {

    @Autowired
    private AoaUserDao aoaUserDao;
    @Autowired
    private AoaDeptDao aoaDeptDao;

    @Override
    public AoaUser getAoaUser(String userName, String password) {

        return aoaUserDao.getAoaUser(userName,password);
    }

    @Override
    public List<AoaUser> getAoaUserList() {
        return aoaUserDao.getAoaUserList();
    }

    @Override
    public int updateAoaUserHasPwd(AoaUser aoaUser) {
        return aoaUserDao.updateAoaUserHasPwd(aoaUser);
    }

    @Override
    public int updateAoaUserNoPwd(AoaUser aoaUser) {
        return aoaUserDao.updateAoaUserNoPwd(aoaUser);
    }

    @Override
    public int updateImgPathById(AoaUser aoaUser) {
        return aoaUserDao.updateImgPathById(aoaUser);
    }

    @Override
    public Long selectFartherIdByDeptAndPosition( Long deptId,Long roleId) {
        Long fartherId = 1L;
        if(deptId==1){
            //总经办
            if(roleId==3){
                //总经理
                fartherId = 2L;
            }
        }else {
            //其他部门
            //是否是部门经理
            if(roleId==4){
                fartherId = aoaDeptDao.selectById(1L).getDeptmanager();
            }else {
                fartherId = aoaDeptDao.selectById(deptId).getDeptmanager();
            }
        }

        return fartherId;
    }
    @Override
    public List<AoaUser> selectByDeptId(Long deptId, Page page) {
        System.out.println("page = " + page);
        return aoaUserDao.selectByDeptId(deptId,page);
    }

    @Override
    public int updateDeptAndPosition(Long changedeptid, Long positionid, Long userid) {
        return aoaUserDao.updateDeptAndPosition(changedeptid,positionid,userid);
    }

    @Override
    public int updatePositionId(long userId,long deptId) {
        return aoaUserDao.updatePositionId(userId,deptId);
    }
}
